From: Claudio Cambra Date: Wed, 4 Dec 2024 09:09:09 +0000 (+0800) Subject: shell_integration/macOS/FileProviderUIExt: Adapt MetadataProvider utility methods... X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~2^2~90^2~2 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=10d53d9bcd21cc6a35111fc518b7695a01ca4f5f;p=nextcloud-desktop.git shell_integration/macOS/FileProviderUIExt: Adapt MetadataProvider utility methods to NextcloudKit 5 Signed-off-by: Claudio Cambra --- diff --git a/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/MetadataProvider.swift b/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/MetadataProvider.swift index 890c32065..564c36fa1 100644 --- a/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/MetadataProvider.swift +++ b/shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/MetadataProvider.swift @@ -6,10 +6,13 @@ // import Foundation +import NextcloudFileProviderKit import NextcloudKit import OSLog -func fetchItemMetadata(itemRelativePath: String, kit: NextcloudKit) async -> NKFile? { +func fetchItemMetadata( + itemRelativePath: String, account: Account, kit: NextcloudKit +) async -> NKFile? { func slashlessPath(_ string: String) -> String { var strCopy = string if strCopy.hasPrefix("/") { @@ -21,15 +24,21 @@ func fetchItemMetadata(itemRelativePath: String, kit: NextcloudKit) async -> NKF return strCopy } - let nkCommon = kit.nkCommonInstance - let urlBase = slashlessPath(nkCommon.urlBase) - let davSuffix = slashlessPath(nkCommon.dav) - let userId = nkCommon.userId + guard let nksession = kit.getSession(account: account.ncKitAccount) else { + Logger.metadataProvider.error("Could not get nksession for \(account.ncKitAccount)") + return nil + } + + let urlBase = slashlessPath(nksession.urlBase) + let davSuffix = slashlessPath(nksession.dav) + let userId = nksession.userId let itemRelPath = slashlessPath(itemRelativePath) let itemFullServerPath = "\(urlBase)/\(davSuffix)/files/\(userId)/\(itemRelPath)" return await withCheckedContinuation { continuation in - kit.readFileOrFolder(serverUrlFileName: itemFullServerPath, depth: "0") { + kit.readFileOrFolder( + serverUrlFileName: itemFullServerPath, depth: "0", account: account.ncKitAccount + ) { account, files, data, error in guard error == .success else { Logger.metadataProvider.error( @@ -39,7 +48,7 @@ func fetchItemMetadata(itemRelativePath: String, kit: NextcloudKit) async -> NKF return } Logger.metadataProvider.info("Successfully retrieved item metadata") - continuation.resume(returning: files.first) + continuation.resume(returning: files?.first) } } }